﻿using System;
using SharpSqlAnalyzer.nodes;

namespace SharpSqlAnalyzer.stmt.db2
{
	// Token: 0x020001CE RID: 462
	public class TDb2CallStmt : TCustomDb2Stmt
	{
		// Token: 0x06000F71 RID: 3953 RVA: 0x0030B835 File Offset: 0x00309A35
		public TDb2CallStmt(EDbVendor dbvendor) : base(dbvendor)
		{
			this.sqlstatementtype = ESqlStatementType.sstdb2callstmt;
		}

		// Token: 0x06000F72 RID: 3954 RVA: 0x0030B849 File Offset: 0x00309A49
		internal override void buildsql()
		{
		}

		// Token: 0x06000F73 RID: 3955 RVA: 0x0030B84B File Offset: 0x00309A4B
		internal override void clear()
		{
		}

		// Token: 0x06000F74 RID: 3956 RVA: 0x0030B84D File Offset: 0x00309A4D
		internal override string getasprettytext()
		{
			return "";
		}

		// Token: 0x06000F75 RID: 3957 RVA: 0x0030B854 File Offset: 0x00309A54
		internal override void iterate(TVisitorAbs pvisitor)
		{
		}

		// Token: 0x06000F76 RID: 3958 RVA: 0x0030B858 File Offset: 0x00309A58
		public override int doParseStatement(TCustomSqlStatement psql)
		{
			if (this.rootNode == null)
			{
				return -1;
			}
			base.doParseStatement(psql);
			TStubStmtSqlNode tstubStmtSqlNode = (TStubStmtSqlNode)this.rootNode;
			this.procedureName = tstubStmtSqlNode.ObjectName;
			this.parameters = tstubStmtSqlNode.ExprList;
			if (this.parameters != null)
			{
				this.parameters.doParse(this, ESqlClause.parameters);
			}
			return 0;
		}

		// Token: 0x170002E2 RID: 738
		// (get) Token: 0x06000F77 RID: 3959 RVA: 0x0030B8B2 File Offset: 0x00309AB2
		// (set) Token: 0x06000F78 RID: 3960 RVA: 0x0030B8BA File Offset: 0x00309ABA
		public virtual TExpressionList Parameters
		{
			get
			{
				return this.parameters;
			}
			set
			{
				this.parameters = value;
			}
		}

		// Token: 0x170002E3 RID: 739
		// (get) Token: 0x06000F79 RID: 3961 RVA: 0x0030B8C3 File Offset: 0x00309AC3
		// (set) Token: 0x06000F7A RID: 3962 RVA: 0x0030B8CB File Offset: 0x00309ACB
		public virtual TObjectName ProcedureName
		{
			get
			{
				return this.procedureName;
			}
			set
			{
				this.procedureName = value;
			}
		}

		// Token: 0x06000F7B RID: 3963 RVA: 0x0030B8D4 File Offset: 0x00309AD4
		public override void accept(TParseTreeVisitor v)
		{
			v.preVisit(this);
			v.postVisit(this);
		}

		// Token: 0x06000F7C RID: 3964 RVA: 0x0030B8E4 File Offset: 0x00309AE4
		public override void acceptChildren(TParseTreeVisitor v)
		{
			v.preVisit(this);
			v.postVisit(this);
		}

		// Token: 0x04001374 RID: 4980
		private TObjectName procedureName;

		// Token: 0x04001375 RID: 4981
		private TExpressionList parameters;
	}
}
